Slider for content selection in user interface

ABSTRACT

Embodiments relate to a user interface (UI) that displays a feed of content items to a user. The content items in the feed may include content related to a same or similar topic, such as content items related to a recent political event. The interface can include an interactive slider on a scale that permits the user to adjust the displayed content according to an attribute described by the scale. More specifically, content items are assigned an attribute value and the location of the slider modifies the selection process for content items so that content items having an attribute value corresponding to the location of the slider are selected and displayed in the feed

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority to U.S. ProvisionalPatent Application No.: 62/945,731, ‘Slider For Content Selection in aUser Interface,’ filed on Dec. 9, 2019, which is incorporated byreference in its entirety.

BACKGROUND

The present disclosure relates to user interfaces (UIs) that displayfeeds of content items to users.

People often search for and read articles to learn about a topic or tostay informed about current events. During this process, peopletypically review multiple articles until they find one or more articlesthat are suitable for reading completely. For example, if an article istoo long, a person may search for shorter articles. In another example,if an article is too technically complex, a person may search for otherarticles that require less technical knowledge to understand. Inaddition, when automated systems automatically select content for users,these automated systems often use signals of prior content viewed orinteracted with by the user or other characteristics known about theuser to select a set of content for the user. One problem with thisapproach is, because of confirmation and other biases, users oftenselect content familiar to or confirming of the user's priorinformation. Automatic content selection often enforces this tendency byselecting content similar to the content previously viewed by the user,and users may thus be presented with very similar content. For certainkinds of content, such as political news, this can mean that it may bedifficult for an automatic content selection system to adequately selecta mixture of content from a variety of viewpoints and a user may tend toview content from a single perspective, which becomes reinforced by thecontent selection systems.

SUMMARY

Embodiments relate to a user interface (UI) that displays a feed ofcontent items to a user. The content items in the feed may includecontent related to a same or similar topic, such as content itemsrelated to a recent political event or a politician. The interface caninclude an interactive slider on a scale that permits the user to adjustthe displayed content according to an attribute described by the scale.More specifically, content items are assigned an attribute value and thelocation of the slider modifies the selection process for content itemsso that content items having an attribute value corresponding to thelocation of the slider are selected and displayed in the feed. In anexample embodiment, the content items are news articles and the assignedattribute values reflect political viewpoints of the news articles.Thus, in this example the location of the slider can indicate thepolitical viewpoints of the displayed content items. By adjusting theslider, content items with a more conservative or liberal politicalviewpoint can be displayed. In other embodiments, the scale and locationof the slider may relate to different kinds of attributes of interest toa user, which may be accounted for in various ways when the systemselects content. For example, the attributes may be used as a filter, ormay be weighed differently in the selection process. Thus, the sliderallows the user to readily view a range of content items that spanacross an attribute range by modifying the position of the interactiveslider along the scale.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a system environment for an online system,according to an embodiment.

FIG. 2 is a block diagram of an architecture of the online system,according to an embodiment.

FIG. 3 is a user interface (UI) that includes a feed of content itemsrelated to politics, according to an embodiment.

FIG. 4 is a news article displayed on a client device, according to anembodiment.

FIGS. 5-9 illustrate user interfaces with different feeds of contentitems related to a same or similar political topic, according to someembodiments.

FIG. 10 is a user interface with a feed of content items related to apolitical election, according to an embodiment.

FIG. 11 is a user interface with a feed of content items related to apolitician, according to an embodiment.

FIG. 12 is a flow chart illustrating a method for displaying a userinterface with a slider and scale, according to one embodiment.

The figures depict various embodiments of the present disclosure forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the disclosure described herein.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth toprovide a more thorough understanding. However, specific examples may bepracticed without one or more of these specific details. In otherinstances, well-known features have not been described in detail toavoid unnecessarily complicating the description.

In the figures, like reference numbers indicate identical orfunctionally similar elements. Also in the figures, the left most digitsof each reference number corresponds to the figure in which thereference number is first used.

FIG. 100 is a block diagram of a system environment 100 for an onlinesystem 140, according to an embodiment. The system environment 100comprises one or more client devices 110, a network 120, one or morethird-party systems 130, and the online system 140. The online system140 may be a news provider, a social networking system, a contentsharing network, or any other system that provides content to users. Inalternative configurations, different and/or additional components maybe included in the system environment 100.

The client devices 110 are one or more computing devices capable ofreceiving user input as well as transmitting and/or receiving data viathe network 120. In one embodiment, a client device 110 is aconventional computer system, such as a desktop or a laptop computer.Alternatively, a client device 110 may be a device having computerfunctionality, such as a personal digital assistant (PDA), a mobiletelephone, a smartphone, or another suitable device. A client device 110is configured to communicate via the network 120. In one embodiment, aclient device 110 executes an application allowing a user of the clientdevice 110 to interact with the online system 140. For example, a clientdevice 110 executes a browser application to enable interaction betweenthe client device 110 and the online system 140 via the network 120. Inanother embodiment, a client device 110 interacts with the online system140 through an application programming interface (API) running on anative operating system of the client device 110, such as IOS® orANDROID™.

The client devices 110 are configured to communicate via the network120, which may comprise any combination of local area and/or wide areanetworks, using both wired and/or wireless communication systems. In oneembodiment, the network 120 uses standard communications technologiesand/or protocols. For example, the network 120 includes communicationlinks using technologies such as Ethernet, 802.11, worldwideinteroperability for microwave access (WiMAX), 3G, 4G, code divisionmultiple access (CDMA), digital subscriber line (DSL), etc. Examples ofnetworking protocols used for communicating via the network 120 includemultiprotocol label switching (MPLS), transmission controlprotocol/Internet protocol (TCP/IP), hypertext transport protocol(HTTP), simple mail transfer protocol (SMTP), and file transfer protocol(FTP). Data exchanged over the network 120 may be represented using anysuitable format, such as hypertext markup language (HTML) or extensiblemarkup language (XML). In some embodiments, all or some of thecommunication links of the network 120 may be encrypted using anysuitable technique or techniques.

One or more third party systems 130 (also referred to as contentproviders) may be coupled to the network 120 for communicating with theonline system 140. A third -party system 130 can communicate informationto the online system 140, such as advertisements and content. Examplethird party systems include content publishers such as newspaperpublishers, news services, and magazine publishers.

FIG. 2 is a block diagram of an architecture of the online system 140,according to an embodiment. The online system 140 includes modules suchas a receipt module 210, a web server 220, an attribute module 230, acontent store 240, a content selector 250, and a feed generator 260. Inother embodiments, the online system 140 may include additional, fewer,or different components for various applications. Conventionalcomponents such as network interfaces, security functions, loadbalancers, failover servers, management and network operations consoles,and the like are not shown so as to not obscure the details of thesystem architecture.

The receipt module 210 receives (or retrieves) content items from thirdparty systems 130 and may store them in the content store 240. Contentitems can represent various types of content. Examples of contentrepresented by a content item include a news article, page post, astatus update, an image, a video, a link, a shared content item, agaming application achievement, a check-in event at a local business, abrand page, or any other type of content.

In various embodiments, a content item includes various componentscapable of being identified and retrieved by the online system 140.Example components of a content item include: a title, text data, imagedata, audio data, video data, a landing page, a user associated with thecontent item, or any other suitable information. The online system 140may retrieve one or more specific components of a content item forpresentation in some embodiments. For example, the online system 140 mayidentify a title and an image from a content item and provide the titleand the image for presentation rather than the content item in itsentirety.

The attribute module 230 analyzes content items in the content store 240(or directly from the receipt module 210) and assigns attribute valuesto the content items for one or more attributes (also referred to asscoring the content items). In some embodiments, the attribute module230 does not analyze every content item in the content store 240. Forexample, the attribute module 230 only analyzes a content item if it hasa same or similar topic as one or more other content items. Saiddifferently, the attribute module 230 may analyze a content item if itis in a set that includes a threshold number of content items (e.g.,three) with a same or similar topic. Content items can be assigned anattribute value for each attribute. An attribute is a quality orcharacteristic of a content item describing an aspect of the contentitem. An attribute can thus refer to the content or quality of thecontent of a content item. Examples of attributes are article length,viewpoint, technical difficulty, and time since publication. Theviewpoint attribute refers to the point of view or bias associated withthe content item. Examples of viewpoints include political, religious,economic, age (e.g., of the author/creator or target consumer), gender,sentiment, and sexual orientation viewpoints. Sentiment refers to thetone or level of emotion in a content item (e.g., a content itemdescribes a topic with a positive or negative tone). Viewpoints of acontent items may, at least in part, be determined by analyzing words,phrases, and sentence structures of text within the content item. Thismay be referred to as sentiment analysis and may be performed by amachine learned algorithm.

An attribute value indicates the strength of the attribute exhibited bythe content item. A content item may be assigned an attribute valuewithin a range of attribute values (e.g., a value between 0-10). Inthese embodiments, a position of the slider on the scale is associatedwith a value or range of values. Alternatively or additionally, acontent item may be assigned a tag, for example, that is associated witha position of the slider on the scale. The attribute module 230 maydetermine an attribute value based on the third party system 130 thatprovided the content item, the author(s) or creator(s), article length,phraseology, topic, content, types of content in the content item (e.g.,text, image, video), and readability of the content (e.g., averagesentence length). For the attribute of political viewpoint, attributesvalues of 0-3 may represent a conservative viewpoint, values of 4-7 mayrepresent a centralist viewpoint, and values of 8-10 may represent aliberal viewpoint. Alternatively, content items can be directly assignedpolitical viewpoint tags, such as “conservative,” “centralist,” or“liberal.” For the attribute of article length, attribute tag values maybe “long,” “medium,” or “short.” For the attribute of technicaldifficulty, attribute tag values may be “none” (requiring no technicalexpertise to understand the article), “some,” and “advanced” (requiringa high level of technical expertise to understand the article).

The content selector 250 selects content items in the content store 240to be placed in the feed. The feed may include a limited number ofcontent items or it may include a complete set of candidate contentitems. The number of content items included in a feed may be determinedin part by the limited screen space of the user's client device 110. Thecontent selector 250 selects and orders content items according to a setof selection criteria. Selection criteria can include topic, content,title, date of publication, author(s), source, popularity, relevance(e.g., to the user or to events currently or recently occurring), andnumber of available content item slots in the feed. The selectioncriteria may be determined by the receipt module 210, the attributemodule 230, or another module.

Additionally or alternatively, the content selector 250 can select andorder content items according to one or more user selections. Forexample, a user elects to view content items that are short in length(e.g., by selecting the position of the slider on the scale). In anotherexample, a user elects to view content items with a conservativepolitical viewpoint. Thus, the content selector 250 selects contentitems with attribute values that indicate a conservative politicalviewpoint. If a user changes their selection (e.g., by changing theposition of the slider), then the client device may request an updatedfeed and the content selector can select new content items for the feedbased on the new selection. If a user does not provide a selection, adefault option is selected. In some embodiments, the user can select theattribute in addition to the attribute value. For example, instead ofpolitical viewpoint, the user selects article length as an attribute. Insome embodiments, the user can provide an attribute value for two ormore attributes. For example, a user selects to view content items witha conservative political viewpoint point and a Muslim religiousviewpoint. Thus, the content selector 250 selects content items withpolitical attribute values corresponding to conservative and religiousattribute values corresponding to Muslim.

The content selector 250 may assign attribute values to slider positionson the scale. For each position on the slider, the content selector 250may determine which attribute value or range of attribute values areassociated with that position. In some cases, two or more attributevalues or ranges of two or more attribute values are associated with aposition on the scale. In an example embodiment, the content selector250 determines that content items with attribute values ranging from 0-5will be displayed when the slider is at the leftmost position on thescale, content items with attribute values ranging from 6-10 will bedisplayed when the slider is at the middle position on the scale, etc.Assigning attribute values to positions on the scale may be based on therange of possible attribute values for a given attribute, theavailability of content items, the attribute values of available contentitems, and a desired number of slider positions on the scale. Aspreviously described, other selection criteria may also affect whichcontent items are displayed.

The content selector 250 may select content items in response to arequest from a client device 110 for a user interface that includes afeed of content items. Alternatively, the selection process ispredetermined. In these cases, the content selector 250 may selectcontent items prior to receiving a request. For example, after contentitems are received by the online system 140, the content selector 250groups the content items into sets or subset of content items to bedisplayed together in a feed.

In some embodiments, content items associated with a same or similartopic (or any other selection criterion) are grouped into a set by thecontent selector 250. The content selector 250 may then form subsetsbased on the attribute values of the content items in the set. Forexample, each subset includes content items with the same attributevalues or with attribute values in a subrange of the range of attributevalues. Since locations on the scale may represent attribute values orranges or attribute values, each subset may be associated with alocation on the scale so that, when the slider is at a location on thescale, the user interface displays a subset of content items withattribute values represented by the location on the scale.

The feed generator 260 generates a feed with the content items selectedby the content selector 250. The feed generator 260 transmits the feedto a client device 110 (e.g., via the web server 220) to be generated asin a user interface.

The web server 220 links the online system 140 via the network 120 tothe one or more client devices 110, as well as to the one or more thirdparty systems 130. The web server 220 serves web pages, as well as othercontent, such as JAVA®, FLASH®, XML and so forth. The web server 220 mayreceive and route messages between the online system 140 and the clientdevice 110, for example, instant messages, queued messages (e.g.,email), text messages, short message service (SMS) messages, or messagessent using any other suitable messaging technique. A user may send arequest to the web server 220 to upload information (e.g., images orvideos) that are stored in the content store 210. Additionally, the webserver 220 may provide application programming interface (API)functionality to send data directly to native client device operatingsystems, such as iOS®, ANDROID™, or BlackberryOS.

As previously indicated, in some embodiments, the content items are newsarticles and the location of the slider on the scale indicates thepolitical viewpoint of the news articles. FIGS. 3-11 are described inthe context of this use case. The example user interfaces shown in FIGS.3-11 may be displayed by a client device 110 that communicates with theonline system 140.

FIG. 3 is a user interface that includes a feed of content items relatedto politics, according to an embodiment. As indicated by the tabs 300 atthe top of the interface, other types of topics can be displayed, suchas lifestyle, U.S. news, Sports, and world news.

Each content item (e.g., content item 310A) in the feed is associatedwith a single news article. In the example of FIG. 3, the content itemsdisplay the title of the associated article, a picture from the article,and the news source (e.g., third party system 130) who published thearticle. If a content item is selected by the user, the associatedarticle may be consequently displayed to the user.

However, if a threshold number of news sources publish articles on asame or similar topic, instead of representing each of the articles as acontent item (and possibly over filling the feed with similar contentitems), a single content item 310B may represent the group of articles(also referred to as a set of content items). Topics of the articles maybe determined by analyzing the content of each article (e.g., text,images, video), for example using one or more machine learnedalgorithms. Content item 310B is indicated as representing multiplearticles by the indicator 320A. In this example, the indicator states“NEWS FROM ALL SIDES See 9 articles.” If the user selects content item310B, one of the articles from the group may be displayed to the user.This is described with respect to FIG. 4. Alternatively, if the userselects the indicator 320A, a feed with one or more articles from thegroup may be presented to the user. For example, in response to a userselecting indicator 320A, the client device sends a request to theonline system 140 for a user interface that includes a feed of one ormore content items from the group. The user interface displayed to theuser may include a slider and scale. This user interface is describedwith respect to FIGS. 5-9.

FIG. 4 is a news article displayed on a client device, according to anembodiment. Since the article is associated with a group of articlesthat cover a same or similar topic, the user interface includesindicator 320B similar to indicator 320A. As previously described, byselecting the indicator 320B, other articles in the group may bepresented to the user in a feed.

FIGS. 5-9 illustrate user interfaces with different feeds of contentitems related to a same or similar political topic, according to someembodiments. In the example of FIGS. 5-9, the content items are relatedto a new tax bill. A single slider 500 and scale 510 are displayed inthe user interface, however in some embodiments, multiple sliders andscales or a multidimensional slider can be displayed so that the usercan control multiple attribute values. For example, the multidimensionalslider for political viewpoint may be a Nolan Chart. The slider 500 andscale 510 may be replaced with other interactive controls, such as aknob, a scroll box, one or more buttons, etc. The slider 500 includesfive stopping points 520 that indicate available positions for theslider 500 (e.g., the slider 500 snaps into one of the stopping points520 when a user interacts with the slider 500). While the scale 510 hasonly five stopping points 520, additional or fewer stopping points maybe present. For example, the slider 500 has so many stopping points 520that the slider 500 appears to continuously slide along the scale 510.The number of stopping points 520 can depend on the number of availableattribute values of the content items.

As previously discussed, the user can interact with the slider 500 bymoving it to a different position along the scale 510. By moving theslider 500, the displayed content items change according to theirpolitical viewpoint attribute values. For example, if the slider 500 isin the middle of the scale, the content selector 250 selects contentitems so that the feed includes content items with attributes values ofneutral or centralist political viewpoints. In some embodiments, theslider is in the middle position by default. If the user moves theslider 500 to the left (e.g., FIGS. 6 and 7), content items in the feedare replaced with content items associated with a liberal politicalviewpoint. The distance from the center position indicates the strengthof the liberal political viewpoint of the content items selected anddisplayed in the feed. Thus, the content item in FIG. 7 has a strongerliberal viewpoint than the content item in FIG. 6. Similarly, if theuser moves the slider 500 to the right (e.g., FIGS. 8 and 9) the feed isadjusted to include content items associated with a conservativepolitical viewpoint. In this case, the distance from the centerindicates the strength of the conservative political viewpoint. Thus,the content item in FIG. 9 has a stronger conservative viewpoint thanthe content item of FIG. 8. While only one content item is displayed inFIGS. 6-9, more or less content items may be displayed. The number ofcontent items displayed can depend on the number of available contentitems with attribute values corresponding to that slider position.

The scale 510 may be colored to indicate attribute values of contentitems associated with positions on the scale 510. The scale 510 can alsoinclude color gradations to indicate changes in attribute values. Forexample, the left side of the scale 510 is blue to indicate contentitems with liberal viewpoints, the right side of the scale is red toindicate content items with conservative viewpoints, and the middle ofthe scale 510 is purple to indicate content items with neutral orcentralist viewpoints. A colored scale 510 may help a user intuitivelyunderstand how the position of the slider 500 corresponds to thedisplayed content items.

In some embodiments, when a user interacts with the slider 500, the userinterface displays an indicator (not illustrated) that indicates theposition of the slider 500 on the scale 510. Since a user's finger mayblock the user's view of the slider 500 when they are interacting withthe slider 500, the indicator may help the user determine the positionof the slider on the scale 510.

As previously discussed, the political viewpoint (or any other attributevalue) of the content items may be determined based on the source,author, phraseology, tone, or topic of the article. For example, if athird -party system 130 or author is commonly associated with a liberalpolitical viewpoint, then content items from that third -party system130 or author can be assigned attribute values that correspond with aliberal viewpoint.

In another use case example, the content items are articles relating toa technically advanced subject, such as machine learning or quantumcomputing. In this case, the position of the slider can indicate theamount of technical expertise the reader may need to have to understandthe article. Thus, for example, if the slider is in the left mostposition, then the displayed content items are articles that do notrequire the reader to have technical expertise (e.g., articles writtenfor the general public). Similarly, if the slider is in the right mostposition, then the displayed content items are articles that aretargeted for readers with high levels of technical expertise (e.g.,readers with graduate degrees).

In another use case example, the content items are articles related to apolitical election or a politician. FIG. 10 is a user interface with afeed of content items related to a political election, according to anembodiment. Specifically, the user interface includes articles relatedto “Marty Smith” and “John Doe” who are candidates in a politicalelection. This may allow a user to review articles covering bothcandidates. FIG. 11 is a user interface with a feed of content itemsrelated to a politician, according to an embodiment. Specifically, theuser interface includes articles related to “Marty Smith.” FIG. 11 alsoincludes a slider and scale at the bottom of the user interface. Thus,for example, a user can view content items related to Marty Smith withdifferent political perspectives or viewpoints by moving the slider. Inanother example, the user can view Marty Smith's views on politicalissues or topics by moving the slider. A user may access the userinterface in FIG. 11 by interacting with the user interface in FIG. 10.

FIG. 12 is a flow chart illustrating a method for displaying a userinterface with a slider and scale, according to one embodiment. Themethod may be performed from the perspective of the online system 140.The steps of the method may be performed in different orders, and themethod may include different, additional, or fewer steps.

In step 1205, a request for a user interface that includes a feed ofcontent items associated with a topic is received from a client device.

In step 1210, responsive to receiving the request, a first attributevalue in a range of attribute values (also referred to as an attributerange) is identified. The first attribute value may be a default orpredetermined value or may be selected by a user.

In step 1215, a first subset of content items from a set of contentitems associated with the topic is selected based on the first attributevalue. Each content item in the first subset of content items has anattribute value in the range of attribute values.

In step 1220, the first subset of selected content items is sent to theclient device for display in a feed of a user interface. The userinterface includes a slider on a scale. The scale represents the rangeof attribute values. The location of the slider on the scale indicatesthe first attribute value. In some embodiments, the slider is amultidimensional slider and the location of the slider on the scaleindicates two or more attribute values of content items displayed in theuser interface. The scale may include one or more colors that indicatethe range of attribute values represented by the scale.

In step 1225, a user-selected second attribute value is received fromthe client device. A user may select the user-selected second attributevalue by interacting with the slider on the scale. The user-selectedsecond attribute may be different than the first attribute value. Insome embodiments, interacting with the slider on the scale includes theuser changing the location of the slider on the scale.

In step 1230, responsive to receiving the user-selected second attributevalue, a second subset of content items from the set of content itemsassociated with the topic is selected based on the user-selected secondattribute value. Each content item in the second subset of content itemshas an attribute value in the range of attribute values. In someembodiments, content items in the first subset are not in the secondsubset and vice versa. Said differently, the first subset and the secondsubset may be disjoint sets.

In step 1235, the second subset of selected content items is sent to theclient device for display in the feed of the user interface. Thelocation of the slider on the scale is updated to indicate theuser-selected second attribute value. The second subset of content itemsmay replace the first subset of content items displayed in the feed ofthe user interface.

In some embodiments, one or more content items from one or more contentprovider systems are received. A topic of each content item may bedetermined. Sets of content items based on the topics may be formed,where one of the sets may be the set of content items associated withthe topic. It may be determined that the set of content items associatedwith the topic includes a threshold number of content items. One or moreattribute values for content items in the set of content items may bedetermined. An attribute value for a content item may indicate astrength of an attribute exhibited by the content item. The first subsetof content items and the second subset of content items may be formedfrom the content items in the set based on the attribute values of thecontent items.

CONCLUSION

The foregoing description of the embodiments has been presented for thepurpose of illustration; it is not intended to be exhaustive or to limitthe patent rights to the precise forms disclosed. Persons skilled in therelevant art can appreciate that many modifications and variations arepossible in light of the above disclosure.

Some portions of this description describe the embodiments in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations are commonly used bythose skilled in the data processing arts to convey the substance oftheir work effectively to others skilled in the art. These operations,while described functionally, computationally, or logically, areunderstood to be implemented by computer programs or equivalentelectrical circuits, microcode, or the like. Furthermore, it has alsoproven convenient at times, to refer to these arrangements of operationsas modules, without loss of generality. The described operations andtheir associated modules may be embodied in software, firmware,hardware, or any combinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments may also relate to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, and/or it may comprise a general-purpose computingdevice selectively activated or reconfigured by a computer programstored in the computer. Such a computer program may be stored in anon-transitory, tangible computer readable storage medium, or any typeof media suitable for storing electronic instructions, which may becoupled to a computer system bus. Furthermore, any computing systemsreferred to in the specification may include a single processor or maybe architectures employing multiple processor designs for increasedcomputing capability.

Embodiments may also relate to a product that is produced by a computingprocess described herein. Such a product may comprise informationresulting from a computing process, where the information is stored on anon-transitory, tangible computer readable storage medium and mayinclude any embodiment of a computer program product or other datacombination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the patent rights. It istherefore intended that the scope of the patent rights be limited not bythis detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsis intended to be illustrative, but not limiting, of the scope of thepatent rights, which is set forth in the following claims.

What is claimed is:
 1. A method comprising: receiving, from a clientdevice, a request for a user interface that includes a feed of contentitems associated with a topic; responsive to receiving the request,identifying a first attribute value in a range of attribute values;selecting a first subset of content items from a set of content itemsassociated with the topic based on the first attribute value, eachcontent item in the first subset of content items having an attributevalue in the range of attribute values; sending the first subset ofselected content items to the client device for display in a feed of auser interface, the user interface including a slider on a scale,wherein the scale represents the range of attribute values and alocation of the slider on the scale indicates the first attribute value;receiving, from the client device, a user-selected second attributevalue, wherein a user selects the user-selected second attribute valueby interacting with the slider on the scale; responsive to receiving theuser-selected second attribute value, selecting a second subset ofcontent items from the set of content items associated with the topicbased on the user-selected second attribute value, each content item inthe second subset of content items having an attribute value in therange of attribute values; and sending the second subset of selectedcontent items to the client device for display in the feed of the userinterface, wherein the location of the slider on the scale is updated toindicate the user-selected second attribute value.
 2. The method ofclaim 1, further comprising: receiving one or more content items fromone or more content providers; determining a topic of each content item;forming sets of content items based on the topics, wherein one of thesets is the set of content items associated with the topic; determiningthe set of content items associated with the topic includes a thresholdnumber of content items; determining one or more attribute values forcontent items in the set of content items, wherein an attribute valuefor a content item indicates a strength of an attribute exhibited by thecontent item; and forming the first subset of content items and thesecond subset of content items from the content items in the set basedon the attribute values of the content items.
 3. The method of claim 2,wherein the content items in the first subset have the same attributevalue or attribute values within a subrange of the range of attributevalues.
 4. The method of claim 2, wherein determining an attribute valuefor a content item is based on at least one of: a content providersystem that provided the content item, a creator of the content item,article length of the content item, phraseology of the content item, thetopic, content of the content item, types of content in the contentitem, or readability of the content item.
 5. The method of claim 1,wherein interacting with the slider on the scale comprises the userchanging the location of the slider on the scale.
 6. The method of claim1, wherein the second subset of content items replace the first subsetof content items displayed in the feed of the user interface.
 7. Themethod of claim 1, wherein the first subset of content items and thesecond subset of content items are disjoint sets.
 8. The method of claim1, wherein the slider is a multidimensional slider and the location ofthe slider on the scale indicates two or more attribute values ofcontent items displayed in the user interface.
 9. The method of claim 1,wherein a coloring of the scale indicates the range of attribute valuesrepresented by the scale.
 10. A non-transitory computer-readable storagemedium storing executable computer program code that, when executed byone or more processors, cause the one or more processors to performoperations comprising: receiving, from a client device, a request for auser interface that includes a feed of content items associated with atopic; responsive to receiving the request, identifying a firstattribute value in a range of attribute values; selecting a first subsetof content items from a set of content items associated with the topicbased on the first attribute value, each content item in the firstsubset of content items having an attribute value in the range ofattribute values; sending the first subset of selected content items tothe client device for display in a feed of a user interface, the userinterface including a slider on a scale, wherein the scale representsthe range of attribute values and a location of the slider on the scaleindicates the first attribute value; receiving, from the client device,a user-selected second attribute value, wherein a user selects theuser-selected second attribute value by interacting with the slider onthe scale; responsive to receiving the user-selected second attributevalue, selecting a second subset of content items from the set ofcontent items associated with the topic based on the user-selectedsecond attribute value, each content item in the second subset ofcontent items having an attribute value in the range of attributevalues; and sending the second subset of selected content items to theclient device for display in the feed of the user interface, wherein thelocation of the slider on the scale is updated to indicate theuser-selected second attribute value.
 11. The non-transitorycomputer-readable storage medium of claim 10, wherein the computerprogram code further causes the one or more processors to performoperations comprising: receiving one or more content items from one ormore content providers; determining a topic of each content item;forming sets of content items based on the topics, wherein one of thesets is the set of content items associated with the topic; determiningthe set of content items associated with the topic includes a thresholdnumber of content items; determining one or more attribute values forcontent items in the set of content items, wherein an attribute valuefor a content item indicates a strength of an attribute exhibited by thecontent item; and forming the first subset of content items and thesecond subset of content items from the content items in the set basedon the attribute values of the content items.
 12. The non-transitorycomputer-readable storage medium of claim 11, wherein the content itemsin the first subset have the same attribute value or attribute valueswithin a subrange of the range of attribute values.
 13. Thenon-transitory computer-readable storage medium of claim 10, whereininteracting with the slider on the scale comprises the user changing thelocation of the slider on the scale.
 14. The non-transitorycomputer-readable storage medium of claim 10, wherein the second subsetof content items replace the first subset of content items displayed inthe feed of the user interface.
 15. The non-transitory computer-readablestorage medium of claim 10, wherein the first subset of content itemsand the second subset of content items are disjoint sets.
 16. A computersystem comprising: one or more processors; and a computer-readablestorage medium comprising executable computer program code, the computerprogram code when executed causing the one or more processors to performoperations comprising: receiving, from a client device, a request for auser interface that includes a feed of content items associated with atopic; responsive to receiving the request, identifying a firstattribute value in a range of attribute values; selecting a first subsetof content items from a set of content items associated with the topicbased on the first attribute value, each content item in the firstsubset of content items having an attribute value in the range ofattribute values; sending the first subset of selected content items tothe client device for display in a feed of a user interface, the userinterface including a slider on a scale, wherein the scale representsthe range of attribute values and a location of the slider on the scaleindicates the first attribute value; receiving, from the client device,a user-selected second attribute value, wherein a user selects theuser-selected second attribute value by interacting with the slider onthe scale; responsive to receiving the user-selected second attributevalue, selecting a second subset of content items from the set ofcontent items associated with the topic based on the user-selectedsecond attribute value, each content item in the second subset ofcontent items having an attribute value in the range of attributevalues; and sending the second subset of selected content items to theclient device for display in the feed of the user interface, wherein thelocation of the slider on the scale is updated to indicate theuser-selected second attribute value.
 17. The computer system of claim16, wherein the computer program code further causes the one or moreprocessors to perform operations comprising: receiving one or morecontent items from one or more content providers; determining a topic ofeach content item; forming sets of content items based on the topics,wherein one of the sets is the set of content items associated with thetopic; determining the set of content items associated with the topicincludes a threshold number of content items; determining one or moreattribute values for content items in the set of content items, whereinan attribute value for a content item indicates a strength of anattribute exhibited by the content item; and forming the first subset ofcontent items and the second subset of content items from the contentitems in the set based on the attribute values of the content items. 18.The computer system of claim 17, wherein the content items in the firstsubset have the same attribute value or attribute values within asubrange of the range of attribute values.
 19. The computer system ofclaim 16, wherein interacting with the slider on the scale comprises theuser changing the location of the slider on the scale.
 20. The computersystem of claim 16, wherein the second subset of content items replacethe first subset of content items displayed in the feed of the userinterface.